FIG. 1 depicts a conventional system 10 for receiving packets in a computer network. The conventional system 10 includes receive port(s) 12, scheduler 14, and processor 16 . Packets received from the port(s) 12 are provided to the scheduler 14. The port(s) 12 might be a single high speed port, such as a ten gigabit per second port, or multiple low speed ports, such as dual one gigabit per second ports. The scheduler 14 utilizes a heuristic for determining which packets from what port are to be provided to the processor 16. The processor 16 performs the desired processing on the packets.
Although the conventional system functions, one of ordinary skill in the art will readily recognize that there are drawbacks. In order to provide packets to different applications in the system, the packet is transmitted back out to the network, then received back by the conventional system 10. Consequently, delays may be introduced. Furthermore, the received traffic, including packets transmitted back out to the network, is not regulated by the conventional system 10. As a result, received packets may be dropped, which is undesirable.
Accordingly, what is needed is a more efficient method and system for handling traffic for multiple applications as well as for multiple low-speed flows or a single high-speed flow. The present invention addresses such a need.